<!-- 登录页 -->
<template>
  <div style="height: 100vh;overflow: hidden;
  background-image: linear-gradient(135deg,#1352F2,#3C82F5);">
  <el-container style="padding: 30px;">
    <el-header>
      <el-row>
        <el-col :span="3">
          <img src="/imgs/login/logo.png" style="height: 50px;">
        </el-col>
        <el-col :span="1">
          <img src="/imgs/login/auto.png" style="height: 50px;">
        </el-col>
        <el-col :span="1">
          <img src="/imgs/login/verticalLine.png" style="height: 50px;">
        </el-col>
        <el-col :span="19">
          <span style="color: #fff;font-weight: bold;font-size: 30px;">智慧车辆运营管理系统</span>
        </el-col>
      </el-row>
    </el-header>
    <el-main>
      <el-row>
        <el-col :span="16">
          <img src="/imgs/login/bg.png" style="width: 100%;">
        </el-col>
        <el-col :span="8">
          <el-card style="margin-top: 80px;">
            <h3 style="text-align: center;">用户登录</h3>
            <el-form label-position="top">
              <el-form-item label="用户名">
                <el-input placeholder="请输入用户名" v-model="user.username"></el-input>
              </el-form-item>
              <el-form-item label="密码">
                <el-input placeholder="请输入密码" show-password v-model="user.password"></el-input>
              </el-form-item>
              <el-form-item>
                <el-button type="primary" style="width: 100%;" @click="login">登录</el-button>
              </el-form-item>
            </el-form>
            <div style="text-align: center;color: #666;font-size: 14px;padding: 10px 0;">
              (体验账号:tom 密码:123456)
            </div>
          </el-card>
        </el-col>
      </el-row>
    </el-main>
  </el-container>
  </div>
</template>

<script setup>

import {ref} from "vue";
import axios from "axios";
import {ElMessage} from "element-plus";
import router from "@/router";
import qs from "qs";
//定义对象用来保存登录用户的表单数据
const user = ref({username:'',password:''});
//定义登录方法
const login = () => {
  console.log(user.value);
  let data = qs.stringify(user.value);
  console.log(data);
  //1.向后端发送登陆请求，注意：前端向后端发送请求需要借助axios!
  //增 删 改 post 查 get
  //注意：前端向后端发送请求需要借助axios!且必须导入!!!
  axios.post(BASE_URL+'/v1/user/login',data)//v1是版本号的意思
  .then((response)=>{
    //2.在回调函数中处理接收到的服务器响应，先发请求，服务器返回响应才执行此处
    //3.response是响应对象，我们可以从response.data中获取后端的响应数据
    console.log(response.data);
    //4.如果登录成功，跳转到首页
    //根据状态码判断是否登录成功
    /*response.data是后端响应的JsonResult*/
    /*response.data。data是JsonResult中的响应数据UserVO*/
    if(response.data.code == 2000){
      ElMessage.success('登陆成功');
      //console.log(response.data.data);
      //console.log(JSON.stringify(response.data.data));
      //跳转路由
      //使用router.push()实现不同路由的导航
      //router：是Vue Router的实例，提供了多种路由管理方法
      //router.push()方法接收一个路由地址，然后导航到该地址
      router.push('/');//提示成功消息+跳转至首页
      /* localStorage:维护字符串类型的键值对 */
      localStorage.setItem('user',JSON.stringify(response.data.data));
    }else{
      ElMessage.error(response.data.msg);
      user.value = {username: '', password: ''};//提示错误消息+清空表单数据
    }

  });
};
</script>

<style scoped>

</style>